1. Field of the Invention
The present invention concerns a system for displaying motion video objects on a computer display screen together with other visual objects such as computer graphic objects, text objects, bit map objects, etc. More particularly, the invention concerns a system for updating such a combined display when objects on the display screen overlap and are manipulated such as by moving the objects or altering their shapes.
2. Description of the Related Art
With recent developments in highly sophisticated and low cost computer hardware, it is now common to find computer systems which process different kinds of data such as image data, voice data and text data in one integrated system. Such multimedia systems are desirable because they can present to a user a wide variety of different kinds of data simultaneously, often with captivating effects.
It is not so common, however, to find such multimedia systems which can process, in addition, motion video information. The reason for this is not because of a lack of hardware devices. To the contrary, highly sophisticated video interface devices are now available which are able, for example, to accept motion analog video information, convert each frame of the analog video information in real time to corresponding digital video information, and provide the digital video information onto a computer bus for processing or display. Rather, the lack of multimedia systems which incorporate motion video information can be traced to a lack of suitable techniques for simultaneously displaying motion video objects with other visual objects such as text and image objects. With existing techniques, it is often necessary for the motion video object to be the top-most object on the display, meaning that it is not possible to display other objects overlapping onto the video object. And often, the motion video is handled only by specialized switching hardware which requires delicate synchronization as it switches between displaying the motion video source and the other displayed objects.
The situation becomes more complicated when it is realized that a truly integrated multimedia system which incorporates motion video objects and other visual objects not only displays motion video objects but also permits both the operator and the system to manipulate them. In particular, motion video objects, as well as other visual objects, are often moved around on the screen or modified by changing size, color, shape, etc. Existing frameworks for updating objects on a display screen are not suitable for updating motion video information.
FIG. 1 shows a typical framework for a screen update sequence known as an "invalidation" or "damage repair" framework. As shown in FIG. 1, it is desired to move object A from the upper left hand side of display screen 10 to the upper right hand side, as shown at 20. Using the invalidation method, first the old region occupied by A is invalidated as shown at 11. Likewise, the new region for object A is invalidated as shown at 12. Then, invalidated regions on the screen are redrawn starting with the lowest layer of objects on the screen and proceeding through to the top-most layer of objects on the screen. Thus, invalidated region 12a is redrawn, first with the background (as shown at 13) and then with object B (as shown at 14). Likewise, invalidated region 12b is redrawn, first with the background (as shown at 15), then with object A (as shown at 16), and finally with object B. The resulting screen displays the desired move of object A from the upper left hand side of the screen to the upper right hand side.
Screen update techniques like the invalidation technique, with its "bottom-up", object drawing sequence, are advantageous (a) because there is no need to redraw the entire screen in each update cycle which would be wasteful in situations where only a small part of the screen has changed, and (b) because each object can simply be drawn to the screen without concern for objects underneath or on top of it and without complicated and costly handling of clipmasks for each object. Nevertheless, screen update techniques found in the art are not suitable when motion video is desired to be displayed. This is because the screen update rate for motion video is simply too high for current computer processes. In particular, a standard NTSC motion video source would require screen updates of 30 screens per second which is simply too high for current systems.
Attempts to circumvent such screen update routines by, for example, simply writing the video information to the screen have also not proved satisfactory. Using the example of FIG. 1, it can be seen that if only the video information is written to the screen without updating the remainder of the screen, then as soon as the next frame for object A is written, object A will immediately overlap object B, as shown in FIG. 2, rather than the desired configuration in which object B overlaps video object A.